|
A triangle strip is a series of connected triangles, sharing vertices, allowing for more efficient memory usage for computer graphics. They are more efficient than triangle lists without indexing, but usually equally fast or slower than indexed triangle lists.〔http://developer.apple.com/library/ios/#DOCUMENTATION/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/TechniquesforWorkingwithVertexData/TechniquesforWorkingwithVertexData.html〕〔http://hacksoflife.blogspot.com/2010/01/to-strip-or-not-to-strip.html〕 The primary reason to use triangle strips is to reduce the amount of data needed to create a series of triangles. The number of vertices stored in memory is reduced from ''3N'' to ''N+2'', where ''N'' is the number of triangles to be drawn. This allows for less use of disk space, as well as making them faster to load into RAM. For example, the four triangles in the diagram, without using triangle strips, would have to be stored and interpreted as four separate triangles: ABC, CBD, CDE, and EDF. However, using a triangle strip, they can be stored simply as a sequence of vertices ABCDEF. This sequence would be decoded as a set of triangles ABC, BCD, CDE and DEF then every even-numbered (with counting starting from one) triangle would be reversed resulting in the original triangles. ==OpenGL implementation== OpenGL has built-in support for triangle strips. Fixed function OpenGL (deprecated in OpenGL 3.0) has support for triangle strips using immediate mode and the ''glBegin()'', ''glVertex *()'', and ''glEnd()'' functions. Newer versions support triangle strips using ''glDrawElements'' and ''glDrawArrays''. To draw a triangle strip using immediate mode OpenGL, ''glBegin()'' must be passed the argument ''GL_TRIANGLE_STRIP'', which notifies OpenGL a triangle strip is about to be drawn. The ''glVertex *()'' family of functions specify the coordinates for each vertex in the triangle strip. For more information, consult The OpenGL Redbook.〔(The OpenGL Redbook )〕 To draw the triangle strip in the diagram using immediate mode OpenGL, the code is as follows: 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「Triangle strip」の詳細全文を読む スポンサード リンク
|